package com.qiangesoft.blog.core.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.qiangesoft.blog.common.utils.DateUtils;
import com.qiangesoft.blog.core.entity.BlogCategory;
import com.qiangesoft.blog.core.entity.BlogComment;
import com.qiangesoft.blog.system.entity.SysUser;
import com.qiangesoft.blog.system.pojo.vo.SysUserDetailVO;
import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
public class ArticleInfoVO {

    /**
     * 主键id
     */
    private Long id;
    /**
     * 作者
     */
    private SysUser author;
    /**
     * 分类id
     */
    private Long categoryId;
    /**
     * 标题
     */
    private String title;
    /**
     * 封面地址
     */
    private String avatar;
    /**
     * 内容
     */
    private String content;
    /**
     * 文章内容MD版
     */
    private String contentMd;
    /**
     * 是否私密
     */
    private Boolean isSecret;
    /**
     * 是否原创
     */
    private Boolean isOriginal;
    /**
     * 转发地址
     */
    private String originalUrl;
    /**
     * 阅读量
     */
    private Integer quantity;
    /**
     * SEO关键词
     */
    private String keywords;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = DateUtils.FORMAT_STRING, timezone = "GMT+8")
    private Date createTime;
    /**
     * 修改时间
     */
    private Date updateTime;
    /**
     * 分类
     */
    private BlogCategory category;
    /**
     * 评论集合
     */
    private List<BlogComment> comments = new ArrayList<>();
    /**
     * 标签集合
     */
    private List<BlogTagVO> tagList = new ArrayList<>();
    /**
     * 最新文章
     */
    private List<LatestArticleVO> newestArticleList = new ArrayList<>();
    /**
     * 上一篇
     */
    private LatestArticleVO lastArticle;
    /**
     * 下一篇
     */
    private LatestArticleVO nextArticle;
    /**
     * 推荐
     */
    private List<LatestArticleVO> recommendArticleList = new ArrayList<>();
    /**
     * 点赞量
     */
    private Integer likeCount;

}
